package com.koocloud.electroplatemanage.utils;

import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.nio.ByteBuffer;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.regex.Pattern;

import com.koocloud.electroplatemanage.mapper.ParameterTableMapper;
import org.apache.commons.lang.ArrayUtils;
import org.apache.log4j.Logger;
import org.springframework.util.StringUtils;


/**
 * @ClassName: HexUtil
 * @Description: 十六进制工具类
 * @Author 2019110501
 * @DateTime 2020年6月2日 下午4:31:47
 */
public class HexUtil {

    static Logger log = Logger.getLogger("HexUtil");

    public static ParameterTableMapper IParameterTableDao;

    /**
     * @Title: getProductPlanUrgentOrder
     * @Description: 获取生产计划加急排序号 每次获取都自增1
     * @param  large_class大类  sub_class小类
     * @Author 2019110501
     * @DateTime 2020年6月2日 下午4:32:47
     * @return
     */
    public static String getProductPlanUrgentOrder(String large_class,String sub_class) {

        String fileSerialNum = IParameterTableDao.selectParameterTable(large_class, sub_class);
        int parseInt = Integer.parseInt(fileSerialNum);
        parseInt += 1;
        IParameterTableDao.updateParameterTable(parseInt, large_class, sub_class);// 更新生产计划加急排序号

        return String.valueOf(parseInt);
    }
    
    

    /**
     * @Title: additiveAmount
     * @Description: 传来的两个十进制字符串金额相加
     * @Author 2019110501
     * @DateTime 2020年6月2日 下午4:32:47
     * @param amount1
     * @param amount2
     * @return
     */
    public static String additiveAmount(String amount1, String amount2) {
        if (StringUtils.isEmpty(amount1)) {
            amount1 = "0";
        }
        if (StringUtils.isEmpty(amount2)) {
            amount2 = "0";
        }
        BigDecimal bigDecimal = new BigDecimal(amount1);
        BigDecimal bigDecimal2 = new BigDecimal(amount2);
        BigDecimal divide = bigDecimal.add(bigDecimal2);
        return divide.toString();
    }

    /**
     * @Title: subtractingAmount
     * @Description: 传来的两个十进制字符串金额相减
     * @Author 2019110501
     * @DateTime 2020年6月2日 下午4:33:04
     * @param amount1
     * @param amount2
     * @return
     */
    public static String subtractingAmount(String amount1, String amount2) {
        if (StringUtils.isEmpty(amount1)) {
            amount1 = "0";
        }
        if (StringUtils.isEmpty(amount2)) {
            amount2 = "0";
        }
        BigDecimal bigDecimal = new BigDecimal(amount1);
        BigDecimal bigDecimal2 = new BigDecimal(amount2);
        BigDecimal divide = bigDecimal.subtract(bigDecimal2);
        return divide.toString();
    }

    /**
     * @Title: getCurrentDateForString
     * @Description: 获取当前日期 String类型的
     * @Author 2019110501
     * @DateTime 2020年6月2日 下午5:08:24
     * @return
     */
    public static String getCurrentDateForString() {
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 设置日期格式
        String date = df.format(new Date());// new Date()为获取当前系统时间，也可使用当前时间戳
        return date;
    }


    /**
     * @Title: getCurrentDate
     * @Description: 获取当前日期 String类型的
     * @Author 2019110501
     * @DateTime 2020年6月2日 下午5:08:24
     * @return
     */
    public static String getCurrentDate() {
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");// 设置日期格式
        String date = df.format(new Date());// new Date()为获取当前系统时间，也可使用当前时间戳
        return date;
    }


    /**
     * @Title: getCurrentDateyyyyMMdd
     * @Description: 获取当前日期
     * @Author 2019110501
     * @DateTime 2020年6月2日 下午5:08:24
     * @return
     */
    public static String getCurrentDateYYYYMMDD() {
        SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");// 设置日期格式
        String date = df.format(new Date());// new Date()为获取当前系统时间，也可使用当前时间戳
        System.out.println("date:"+date);
        return date;
    }


    public static void main(String[] args) {
        String str="202011120015";
        String substring = str.substring(8);
        System.out.println(substring);
        int b = Integer.parseInt(substring)+1;
        String format = String.format("%04d", b);//0001
        System.out.println(format);
    }


  

}
